In several communications systems the data to be transmitted is compressed so that the available bandwidth is used more efficiently. For example, the Moving Pictures Experts Group (MPEG) has promulgated several standards relating to digital data delivery systems. The first, known as MPEG-1 refers to ISO/IEC standards 11172 and is incorporated herein by reference. The second, known as MPEG2, refers to ISO/IEC standards 13818 and is incorporated herein by reference. A compressed digital video system is described in the Advanced Television Systems Committee (ATSC) digital television standard document A/53, and is incorporated herein by reference.
It is important to television studios and other “consumers” of information streams to be able to concatenate or splice between information streams (e.g., transport encoded program streams incorporating video, audio and other associated information sub-streams) in a substantially seamless and frame accurate manner. “Frame accurate” means that a splice occurs precisely at the frames selected by the user, regardless of the frame type of the encoded frame (e.g., I-, P- or B-frame encoding). “Seamless splice” means a splice which results in a continuous, valid MPEG stream. Thus, a frame accurate seamless splicer will preserve an exact number of frames when performing a frame accurate seamless splice of a first information stream into a second information stream (e.g., a transport encoded program comprising a 900 video frame commercial presentation may be scheduled into a “slot” of exactly 900 frames).
Several known methods utilize variations of the following procedure: decoding an “in stream” and an “out stream” to a baseband or elementary level, performing a splice operation and re-encoding the resulting spliced stream. These methods provide frame accurate seamless splices, but at great expense.
In an improved method allowing seamless splicing at the transport stream level, MPEG and MPEG-like information streams including, e.g., video information may be spliced together in a relatively seamless manner by defining “In Points” and “Out Points” for each stream that are indicative of, respectively, appropriate stream entry and exit points. For example, a packet containing a video sequence header in an MPEG-like video stream comprises an appropriate In Point. An MPEG-like information stream that contains such In Points and Out Points is said to be spliceable. The Society of Motion Picture and Television Engineers (SMPTE) has proposed a standard SMPTE 312M defining such splicing points entitled “Splice Points for MPEG2 Transport Streams,” which is incorporated herein by reference in its entirety.
Unfortunately, the placement of such In points and Out Points is defined by factors such as image frame encoding mode, group of pictures (GOP) structure and the like. Therefore, an end user trying to seamlessly splice between information streams cannot do so in a “frame accurate” manner if the desired splicing points are not appropriate In Points or Out Points.
Therefore, it is seen to be desirable to provide a method and apparatus that allows seamless, frame accurate splicing of MPEG-like transport streams. Moreover, it is seen to be desirable to provide a method and apparatus for applying such a seamless, frame accurate splicing method and apparatus to the particular environment of a television studio or other video serving environment.